1. Field of the Invention
The present invention relates to a technique for updating a version of a program to another version using an update data file of the program.
2. Description of the Related Art
An information processing apparatus such as a PC can execute various kinds of processing using programs such as applications. Such programs are provided via recording media such as CD-ROMs that record programs or are available by downloading from servers via the Internet.
Some of such programs are managed using their versions, and an update data file used to update a program to a new version due to modifications of functions and addition of new functions is provided to some programs. A program update method using such update data file includes the following two methods.
One update method is to install a program of a new version using a full update data file which fully updates a program. More specifically, a program of a previous version, which has already been installed, is uninstalled, and a program is re-installed using a full update data file as a program of a post-update version, thereby fully updating the program.
The other update method is to update a program to a new version using a differential update data file used to update only some data files to be changed of those of the program. More specifically, the differential update data file updates a program to that of a post-update version by adding differential data files required to update the program from the previous version to the post-update version to the program of the previous version or by overwriting files to be changed by corresponding files.
The update method using the differential update data file can reduce a size of data to be downloaded upon, for example, acquiring the provided update data file via the Internet, compared to the update method using the full update data file. Hence, a time required to update can be cut down.
Programs are updated not only in the aforementioned applications but also in basic software such as an OS (Operating System) required to control the operations of an information processing apparatus. Since some of programs such as applications operate using some programs provided as the basic software, such programs may often become inoperable after the basic software is updated.
Japanese Patent No. 04029448 discloses a method in which each of the basic software and a program which operates using the basic software manages a version of the other program that is applicable to that of a self program, thereby avoiding the other program from becoming inoperable. More specifically, when a post-update version of the other program is not applicable to the version of the self program at the time of updating, the other program is controlled not to be updated.
However, when the version of the other program which is applicable to that of the self program is to be managed like in Japanese Patent No. 04029448, for example, the basic software has to manage applicable versions of many programs such as applications. Also, a program whose applicable version is not stored may not be ensured to operate after another program is updated.
A program having the aforementioned dependency (dependent program) may have the following possibilities. For example, a case will be examined below wherein when the basic software such as an OS is updated, the dependent program becomes inoperable, and is updated using a differential update data file so as to enable the dependent program. At this time, when a differential update data file is tried to be installed in the inoperable dependent program, for example, a registry update process and COM (Component Object Model) registration process may often fail. More specifically, when differential update data files of a plurality of versions have to be used until the inoperable dependent program is updated to a version at which the program is operable on the basic software, update programs fail to operate due to the intervention of inoperable versions.
Furthermore, for example, a case will be examined below wherein the dependent program is installed together with a class library which is required for the operation of the dependent program and is also provided by the basic software. In such case, when the basic software is updated, the class library may also be updated, and the dependent program becomes inoperable when the class library does not have any downward compatibility. At this time, even when the dependent program is updated using a differential update data file, if a class library to be provided remains unchanged, the differential update data file does not include any data file of the class library. Hence, the dependent program is unlikely to operate.